// pages/classify/classify.js
import { getMenu } from '../../api/classify';
import { getCoursesBySubjectId } from '../../api/classify'; // 引入课程接口
Page({
  /**
   * 页面的初始数据
   */
  data: {
    nav: {  //滚动导航
      list: [], // 初始为空数组，将从接口获取
			active: 0,  //当前选中的导航下标
			left: 0,    //滚动值
			width: 28,
			offsetLeft: 11
    },
    windowWidth: 0,
    courseData: {}, // 缓存所有已加载的课程数据
    courses: []
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let _this = this;
        wx.getSystemInfo({
            success: function (res) {
              _this.setData({
                windowWidth: res.windowWidth
              })
            }
        });
        // 调用接口获取导航数据
        this.fetchNavData();
  },
// 获取导航数据
  fetchNavData() {
    getMenu().then(res => {
      console.log('接口返回数据:', res);
      if (res.code === 0 && res.rows) {
        this.setData({
          'nav.list': res.rows
        });
        // 默认加载第一个tab的数据
        if (res.rows.length > 0) {
          this.loadCourseData(res.rows[0].subjectId);
        }
      }
    });
  },
// 加载课程数据
  loadCourseData(subjectId) {
    console.log("正在请求科目id："+subjectId);
    getCoursesBySubjectId(subjectId).then(res => {
      if (res.counselist && Array.isArray(res.courseList)) {
        console.log('📊 counselist长度:', res.courseList.length);
        console.log('📋 counselist内容:', res.courseList);
      }
      if (res.code === 0 && res.courseList) {
        // 处理课程数据
        const courses = res.courseList.map(item => {
          console.log('📝 处理单个课程项:', item);
          return {
            courseId: item.courseId,
            courseTitle: item.courseTitle,
            coverFileUrl: item.coverFileUrl || null,
            isFree: item.isFree || '0',
            coursePrice: item.coursePrice || '0',
            learningNum: item.learningNum || '0'
          };
        });
        console.log('🔄 处理后的课程数据:', courses);
        // 更新数据
        const courseData = this.data.courseData;
        courseData[subjectId] = courses;
        this.setData({
          courseData: courseData,
          // currentCourses: courses
        });
        console.log('🎉 课程数据设置完成，currentCourses长度:', courses.length);
      } else {
        const courseData = this.data.courseData;
        courseData[subjectId] = [];
        this.setData({ courseData: courseData });
      }
    }).catch(err => {
      this.setData({
        currentCourses: []
      });
    });
  },
  select: function(e){
		let _this = this,
			nav = this.data.nav,
      idx = e.currentTarget.dataset.idx,
      subjectId = nav.list[idx].subjectId, // 获取subjectId
      width = nav.list[idx].subjectTitle.length * 14,
			windowWidth = this.data.windowWidth,
      offsetLeft = e.target.offsetLeft;
		if (offsetLeft < windowWidth) {
			nav.left = width + 68 - windowWidth + offsetLeft;
		} else {
			nav.left = offsetLeft - windowWidth + width + 68;
		}
		wx.createSelectorQuery().select('.scroll_item' + idx).boundingClientRect(function(res){
			nav.active = idx;
			nav.width = res.width - 20;
			nav.offsetLeft = offsetLeft + 11;
			_this.setData({
				nav: nav,
      });
      if (!_this.data.currentCourses) {
        _this.loadCourseData(subjectId);
      }
		}).exec();
  },

  
  onSwiperChange: function(e) {
    console.log('swiper切换:', e.detail.current);
    const current = e.detail.current;
    const subjectId = this.data.nav.list[current].subjectId;
    
    this.setData({
      'nav.active': current,
    });
    
    // 加载当前swiper对应的课程数据
      this.loadCourseData(subjectId);
  },
  gotoIntroduct:function(data) {
    let id = data.currentTarget.dataset.id;
    if (id) {
      wx.navigateTo({
        url: `/pages/introduct/introduct?courseId=${id}`,
      })
    } else {
      console.error('未获取到课程ID');
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})